On the Expressiveness of Parameterized Finite-state Runtime Monitors On the Expressiveness of Parameterized Finite-state Runtime Monitors?
نویسنده
چکیده
Many contemporary runtime-verification tools instrument a program under test with finite-state runtime monitors that can be parameterized through variable-to-object bindings. Often, such tools provide a specification formalism that is some form of syntactic extension to an aspect-oriented programming language. The tools then transform monitor specifications into aspects that bind the monitors’ parameters through pointcuts. In this work we show that the availability of certain, well-selected pointcuts and the variable bindings that these pointcuts expose can greatly enhance the expressive power of finite-state monitoring formalisms, often going clearly beyond the expressiveness of regular languages. Formally, this e↵ect can be explained by a correspondence between finite-state machines and Weak Monadic Second-Order Logic (MSO). For this logic it is known that it can exactly express the regular languages when combined with a successor relation over string positions—adding other relations may increase its expressiveness. In the conceptual framework of this logic, such adjunct relations correspond directly to primitive pointcuts in the underlying aspect language.
منابع مشابه
Calculus-based Runtime Verification
In this paper, a uniform calculus-based approach for synthesizing monitors checking correctness properties specified by a large variety of logics at runtime is provided, including future and past time logics, interval logics, state machine and parameterized temporal logics. We present a calculus mechanism to synthesize monitors from the logical specification for the incremental analysis of exec...
متن کاملTemporal Monitors for TinyOS
Networked embedded systems generally have extremely low visibility of system faults. In this paper, we report on experimenting with online, node-local temporal monitors for networked embedded nodes running the TinyOS operating system and programmed in the nesC language. We instrument the original node software to signal asynchronous atomic events to a local nesC component running a runtime veri...
متن کاملTransforming Timeline Specifications into Automata for Runtime Monitoring
In runtime monitoring, a programmer specifies code to execute whenever a sequence of events occurs during program execution. Previous and related work has shown that runtime monitoring techniques can be useful in order to validate or guarantee the safety and security of running programs. Those techniques have however not been incorporated in everyday software development processes. One problem ...
متن کاملMOPBox: A Library Approach to Runtime Verification
In this work we propose MOPBox, a library-based approach to runtime verification. MOPBox is a Java library for defining and evaluating parametric runtime monitors. A user can define monitors through a simple set of API calls. Once a monitor is defined, it is ready to accept events. Events can originate from AspectJ aspects or from other sources, and they can be parametric, i.e., can contain var...
متن کاملGraphically transforming Timeline specifications into automata for runtime monitoring
In runtime monitoring, a programmer specifies a piece of code to execute whenever a sequence of events occurs during program execution. Previous and related work has shown that runtime monitoring techniques can be useful in order to validate or guarantee the safety and security of running programs. Yet, those techniques have not yet been able to make the transition to everyday use in software d...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012